Processing math: 100%
Глава I
1.1. Явные и параметрические формы

Два наиболее распространенных методов представления кривых и поверхностей в геометрическом моделировании - неявные уравнения и параметрические функции.

Неявное уравнение кривой, лежащей в плоскости xy, имеет вид f(x,y)=0. Это уравнение описывает неявную зависимость между x и y координатами точек, лежащих на кривой. Для данной кривой уравнения уникальны с точностью до мультипликатив­ной константы. Примером может служить круг единичного радиуса с центром в начале координат, определяется уравнением f(x,y)=x2+y2-1=0.

Рисунок 1.1. Круг с радиусом 1 и центром в начле координат

В параметрической форме, каждая из координат точки на кривой представлена отдельно, в виде явной функции независимого параметра

C(u)=(x(u),y(u))aub

Таким образом, C(u) является вектор-функцией независимой переменной, u. Хотя отрезок [a,b] - произволен, но, как правило, нормированный на [0,1]. Первый квадрант круга, показанного на Рисунке 1.1, определяется параметрическими функциями

x(u)=cos(u)

y(u)=sin(u)0uπ2 (1.1)

Установив t=tan(u2), можно получить альтернативное представление

x(t)=1-t21+t2

y(t)=2t1+t20t1 (1.2)

Таким образом, параметрическое представление кривой не уникально

Полезно думать о C(u)=(x(u),y(u)) как о пути, проходимый частицей со време­нем; где [a,b] изменение времени, и [a,b] временной интервал. Первая и вторая произ­водная от C(u), соответствует скорости и ускорению частицы, соответственно. Диффе­ренцируя формулы (1.1) и (1.2), получим функции скорости

C(u)=(x(u),y(u))=(-sin(u),cos(u))

C(t)=(x(t),y(t))=(-4t(1+t2)2,2(1-t2)(1+t2)2)

Обратите внимание, что величина вектора скорости, C(u), является постоянной

|C(u)|=sin2(u)+cos2(u)=1

т. е. направление частицы меняется со временем, но её скорость постоянна. Это упоминается как форма параметризации. Подставляя t=0 и t=1 в C(t) дает C(0)=(0,2) и C(1)=(-1,0), то есть, стартовая скорость частицы это удвоенная конечная скорость.

Рисунок 1.2. Вектора скорости C(u) и C(t) при u,t=0 и 1

Поверхность определяется неявным уравнением вида f(x,y,z)=0. Например, возьмём сферу единичного радиуса с центром в нуле, как показано на рисунке 1.3 и заданной уравнением x2+y2+z2-1=0. Параметрическое представление (не единственное) для той же сферы дается S(u,v)=(x(u,v),y(u,v),z(u,v)), где

x(u,v)=sin(u)cos(v)

y(u,v)=sin(u)sin(v)

z(u,v)=cos(u)0uπ,0v2π (1.3)

Обратите внимание, что для определения поверхности требуются два параметра. Устанавливая u неизменной и меняя v создаём широтные линии сферы; устанавливая v неизменной и меняя u создаём продольные линии сферы.

Рисунок 1.3. Сфера с радиусом 1 и центром в начле координат

Обозначим частные производные S(u,v) как Su(u,v)=(xu(u,v),yu(u,v), zu(u,v)) и Sv(u,v)=(xv(u,v),yv(u,v),zv(u,v)), то есть, скорости вдоль широтных и продольных линий. В любой точке на поверхности, где векторное произведение Su×Sv не исчезает, единичный вектор нормали, N, имеет вид (Рисунок 1.4).

N=Su×Sv|Su×Sv| (1.4)

Существование нормального вектора в точке, и соответствующей касательной плоскости, является геометрическим свойством поверхности независимо от парамет­ри­зации. Различные параметризации дают разные частные производные, но уравнение (1.4) всегда дает N при условии, что знаменатель не обращается в нуль. Из уравнения рисунке 1.3 видно, что для всех v, 0v2π, Sv(0,v)=Sv(π,v)=0, то есть, Sv об­ра­ща­ет­ся в нуль у Северного и Южного полюсов сферы. Очевидно, что нормальные век­то­ры существуют и в двух полюсах, но эти параметрические уравнения (1.4) не мо­гут быть использована для их вычисления.

Рисунок 1.4. Частная производная и единичные нормальные векторы S(u,v)

Для неявной и параметрической форм, трудно утверждать, что одна всегда более подходящая, чем другая. Обе имеют свои преимущества и недостатки. Успешное гео­метрическое моделирование делается с помощью обоих методов. Сравним эти два ме­тода следующим образом:

Мы сконцентрировались, в основном, на параметрической форме, в остальной части книги. Подробнее о неявных и параметрических формах можно найти в стандартных текстах ([Faux81; Mort85; Hoff89; Beac91]).